package com.jiayi.api;

import java.util.List;
import com.jiayi.common.core.page.TableDataInfo;
import com.jiayi.data.entity.schema.JiayiProduct;
import com.jiayi.data.entity.bo.JiayiProductBO;
import com.jiayi.data.entity.request.JiayiProductRequest;
import com.jiayi.data.entity.request.JiayiProductSearchRequest;
import com.jiayi.data.entity.request.JiayiProductSearchPageRequest;
import com.jiayi.data.entity.response.JiayiProductDTO;
import javax.servlet.http.HttpServletResponse;


/**
 * 产品展示Service接口
 *
 * @author zzx
 * @date 2024-11-26
 */
public interface JiayiProductService {
    /**
     * 查询产品展示
     *
     * @param id 产品展示主键
     * @return 产品展示
     */
    public JiayiProductDTO selectJiayiProductById(Long id);

    /**
     * 查询产品展示列表 分页
     *
     * @param request 产品展示
     * @return 产品展示集合
     */
    public TableDataInfo selectJiayiProductList(JiayiProductSearchPageRequest request);

    /**
     * 查询产品展示列表 不分页
     *
     * @param request 产品展示
     * @return 产品展示集合
     */
    public List<JiayiProduct> selectJiayiProductList(JiayiProductSearchRequest request);

    /**
     * excel 导出 全量
     *
     * @param request 产品展示
     */
    public void export(JiayiProductSearchRequest request, HttpServletResponse response);

    /**
     * 新增产品展示
     *
     * @param request 产品展示
     * @return 结果
     */
    public int insertJiayiProduct(JiayiProductRequest request);

    /**
     * 修改产品展示
     *
     * @param request 产品展示
     * @return 结果
     */
    public int updateJiayiProduct(JiayiProductRequest request);

    /**
     * 批量删除产品展示
     *
     * @param ids 需要删除的产品展示主键集合
     * @return 结果
     */
    public int deleteJiayiProductByIds(Long[] ids);

    /**
     * 删除产品展示信息
     *
     * @param id 产品展示主键
     * @return 结果
     */
    public int deleteJiayiProductById(Long id);
}
